Apparatus and method for analyzing circuits using reduced-order modeling of large linear subscircuits

ABSTRACT

A circuit analyzer and method are disclosed for generating and outputting a Matrix Pade via Lanczos (MPVL) approximation of a frequency response of a circuit from input circuit parameters. A processing unit has a memory for storing circuit characteristic data representing a circuit; a program for generating matrix transfer function data relating to a matrix transfer function associated with the circuit characteristic data; a processor for executing the program; and the processing unit generates the frequency response signal in response to the matrix transfer function data.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of application Ser. No. 08/269,230, filed Jun. 30, 1994 now U.S. Pat. No. 5,537,329.

BACKGROUND

1. Technical Field

This disclosure relates analyzers for electrical circuits. In particular, this disclosure relates to an apparatus and method for analyzing linear and linearized circuits and networks to approximate a matrix transfer function using reduced-order modeling via a block Lanczos procedure.

2. Description of the Related Art

Electric and electronic circuits may have relatively large linear subnetworks, such as large interconnected networks that are extracted from a integrated circuit layout, or when a circuit includes models of distributed elements such as transmission lines, ground planes, or three-dimensional structures. The analysis of such circuits may be performed by replacing linear subnetworks in a circuit with a reduced-order model that substantially approximates the external behavior of the linear subnetwork. Efficient analysis techniques may then utilize the linear aspect of the subnetworks, thus reducing the complexity of the analysis to be performed by non-linear analysis techniques.

Analysis of these large linear subnetworks having multiple-inputs and multiple-outputs may be computationally cumbersome because the transfer functions from each input to each output is required to be analyzed.

SUMMARY

It is preferable to analyze large linear circuits or networks modelled by matrices using a numerically stable method to determine a matrix Pade approximation of the frequency response with little numerical degradation, as well as to provide an acceptable computational cost per order of approximation. A circuit analyzer and method are disclosed for generating a frequency response signal of a circuit. The circuit analyzer operating the method includes a processing unit having a memory for storing circuit characteristic data representing a circuit; a program for generating matrix transfer function data relating to a matrix transfer function associated with the circuit characteristic data; a processor for executing the program; and means for generating the frequency response signal in response to the matrix transfer function data.

BRIEF DESCRIPTION OF THE DRAWINGS

The features of the disclosed circuit analyzer and method will become more readily apparent and may be better understood by referring to the following detailed description of an illustrative embodiment of the present invention, taken in conjunction with the accompanying drawings, where:

FIG. 1 illustrates a block diagram of the components of the circuit analyzer disclosed herein;

FIG. 2 illustrates a flowchart of the operation of the circuit analyzer to implement a Matrix Pade via Lanczos (MPVL) approximation of a frequency response;

FIG. 3 illustrates a flowchart of a subroutine implementing a look-ahead Lanczos procedure; and

FIGS. 4-6 illustrate graphs of frequency responses by MPVL and Pade via Lanczos (PVL) analysis.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now in specific detail to the drawings, with like reference numerals identifying similar or identical elements, as shown in FIG. 1, the present disclosure describes an apparatus and method implementing a circuit analyzer 10, which includes a processing unit 12 having a processor 14, memory 16, and stored programs 18 including a matrix transfer function program 20; an input device 22; and an output device 24.

In commonly assigned U.S. patent application Ser. No. 08/269,230, filed Jun. 30, 1994, and entitled "APPARATUS AND METHOD FOR ANALYZING CIRCUITS", which is incorporated herein by reference, a Pade via Lanczos method is disclosed for determining a scalar Pade approximant of a transfer function of a circuit for use in determining, with substantial accuracy, the frequency response behavior of the circuit. The matrix transfer function program 20 performs a generalized matrix Pade via Lanczos method, as described herein below, which generalizes the Pade via Lanczos method disclosed in U.S. patent application Ser. No. 08/269,230 to systems of equations determining the frequency response behavior of a circuit under analysis. It is to be understood that the Pade via Lanczos method disclosed in U.S. patent application Ser. No. 08/269,230 may be applied as well to systems of equations determining the frequency response behavior of a circuit under analysis.

In an exemplary embodiment, the processing unit 12 is preferably a SPARC workstation available from SUN MICROSYSTEMS, INC. having about 32 MB associated RAM memory and a hard or fixed drive as memory 16. The processor 14 operates using the UNIX operating system to run application software as the stored programs 18 providing programs and subroutines implementing the disclosed circuit analyzer 10 and method.

The processor 14 receives commands and circuit characteristic data from a circuit characteristic data source 26 through the input device 22 which includes a keyboard and/or a data reading device such as a disk drive for receiving the circuit characteristic data from storage media such as a floppy disk. The received circuit characteristic data may be stored in memory 16 for further processing to generate a frequency response signal of the circuit under analysis over a range of frequencies representing the approximated or predicted frequency response of the circuit. The generated frequency response signal of a linear macroblock or subcircuit may be a subgoal in the non-linear analysis of a circuit.

The generated frequency response signal may be used by the processor 14 to generate a graphic representation for plotting the approximated frequency response in volts, amps, or other scales versus a range of frequencies. The graphic representation is sent to an output device 24 such as a display for displaying the predicted frequency response of the circuit under analysis. Alternatively, the output device 24 may include specialized graphics programs to convert the generated frequency response signal to a displayed graphic. In additional embodiments, the generated frequency response signal may include determined poles, zeros, and/or residues listed in a file for output as columns or tables of text by the output device 24 which may be a display or a hard copy printer.

The circuit analyzer 10 performs the application programs and subroutines, described hereinbelow in conjunction with FIGS. 2-3, which are implemented from compiled source code in the C++ and/or the FORTRAN programming languages.

The circuit analyzer 10 also includes a method for generating a frequency response signal of a circuit, including the steps of starting the circuit analysis by the MPVL procedure in step 28; receiving and storing the circuit characteristic data of the circuit in step 30; processing the circuit characteristic data in step 32 to obtain parameters associated with a characteristic matrix A; reducing the characteristic matrix A using the matrix transfer function program 20 of the stored programs 18 in step 34 to produce the banded matrix T_(k) using the look-ahead block Lanczos procedure; generating a matrix Pade approximant of a transfer function of the circuit in step 36; and generating and displaying a graphic representation of the performance of the circuit in step 38 as predicted from the matrix Pade approximant.

As shown in FIG. 3, the step 34 in FIG. 2 for reducing the characteristic matrix A includes a subroutine performing the steps of starting the reduction of the characteristic matrix A in step 40; initializing Lanczos vectors v, w to initial iteration values in step 42; iterating the variables and vectors in step 44 as described below for values of iteration variable k from 1 to k_(max) ; determining at least an initial value t_(k),k-m as an element of the banded matrix T_(k) in step 46, and testing in step 48 if the initial value t_(k),k-m is substantially near zero. If so, the iterations stop in step 50; otherwise, the iterations continue in step 52-58.

The method determines the Lanczos vectors for iteration k in step 52, determines auxiliary vectors in step 54, updates the auxiliary vectors in step 56, and determines if the iteration for k_(max), i.e. the last iteration, has been performed in step 58. If the iterations are not complete, the method loops back to continue the iterations for the next value of k to perform steps 44-58 until the iterations are complete. When the iterations are complete, the method then determines the banded matrix T_(k) in step 60 from the iterated values of the variable and vectors; and the method then returns the banded matrix T_(k) in step 62 to the procedure in FIG. 2 to proceed to steps 36-38 to determine the frequency response of the circuit.

Referring back to FIG. 2, the generated banded matrix T_(k) in step 34 is used to determine a matrix Pade approximant of the frequency response of the circuit in step 36 in a manner comparable to the method as described in U.S. application Ser. No. 08/269,230, incorporated above by reference. For example, eigenvalues and eigenvectors of T_(k) may be generated to determine the poles and residues of the frequency response of the circuit, and T_(k) may be used to calculate the zeros of the frequency response of the circuit.

Using any circuit-equation formulation technique, such as modified nodal analysis or sparse tableau, a circuit may be described by a system of first order differential equations: ##EQU1## with z=z(t) as the vector of circuit variables at time t, with the term f(z,t) representing the contribution of non-reactive elements such as resistors, sources, etc., and the term d/dt q(z,t) representing the contribution of reactive elements such as capacitors and inductors.

For a circuit separable into a linear subnetwork and a remainder of the circuit, let ##EQU2## where x_(L) denotes variables exclusive to the linear subnetwork, x_(N) are variables exclusive to the remainder of the circuit, and y represents variables shared by the linear subnetwork and the remainder. Using Equation (2) as a partitioning of the circuit into linear and non-linear subnetworks, Equation (1) may be rewritten as: ##EQU3##

In Equation (3), the vector-valued functions q and f represent the contributions of resistive and reactive elements from the non-linear partitions of the circuit, and the matrices C and G represent, respectively the contributions of resistive and reactive elements of the linear partition. Referring to Equation (3), the vectors q and f may be scaled to have the same length, and the matrices C and G may be square matrices of the same size. Such scaling of parameters q, f, C and G may be performed by padding each of q, f, C and G with additional zeros.

The system of equations in Equation (3) may be solved using non-linear ordinary differential equation solvers, such as SPICE-like simulators. However, when the cardinality of x_(L) is large, substantial computational savings may be attained by replacing the linear subnetwork with a reduced-order model which may exhibit substantially the same behavior at the interface of the linear subnetwork with the remainder of the circuit.

The equations referring to the linear subnetwork in Equation (3) may be separated by introducing an m-vector; i.e. a vector of length m, of circuit variables u=u(t), which represents interface signals to the remainder of the circuit being analyzed.

Equation (3) may be transformed to a coupled system of equations: ##EQU4## where I_(m) is the m×m identity matrix.

In a nodal formulation of the circuit, the variables y and u represent the voltages and currents, respectively, in the wires or connections of the circuit that the connect the linear and non-linear partitions of the circuit. Set ##EQU5## where L is a matrix which selects the y subvector from x, and p is the length of the vector y. L^(T) is a matrix that selects the y subvector from x; i.e. y=L^(T) x. The multiple-input, multiple-output linear subnetwork may be described by: ##EQU6##

Equation (6) describes an m input, p output linear network which may be analyzed in terms of its p×m matrix of Laplace-domain transfer functions, obtained as described below. Applying the Laplace transform to Equation (6) results in:

    sCX+GX=BU

    Y=L.sup.T X                                                (7)

where X, U and Y denote the Laplace transform of x, u and y, respectively.

Let s₀ ε C be an arbitrary but fixed frequency shift or expansion point such that the matrix G+s₀ C is non-singular, and using the change of variables s=s₀ +σ, set

    A:=-(G+s.sub.0 C).sup.-1 C

    R:=(G+s.sub.0 C).sup.-1 B.                                 (8)

where parameters G and C are thus associated with the characteristic matrix A. Hereinafter, the notation ":=" indicates assignment, definition, or setting a variable accordingly, and ()⁻¹ indicates the inverse operator for scalars and matrices, accordingly.

Matrix A is hereinafter called the characteristic matrix or circuit characteristic matrix of the circuit, determined from the circuit matrices G and C of the characteristics of the circuit or network.

The matrix Y may then be obtained from Equation (7) by:

    Y=L.sup.T (I-σA).sup.-1 RU                           (9)

and a transfer function matrix H(s) may be obtained as:

    H(s)=H(s.sub.0 +σ)=Y(σ)U.sup.-1 (σ)=L.sup.T (I-σA).sup.-1 R                                     (10)

where I is the identity matrix.

To determine the matrix-valued transfer function H(σ) by approximation with a reduced-order model with substantial accuracy, a Lanczos process is employed by the disclosed circuit analyzer 10 and method which produces a relatively small-dimensional approximation, denoted by matrix T_(k), to the matrix A, which may be a relatively large-dimensional matrix. The matrix T_(k) may be a best k×k approximation to A, where the approximation may be substantially accurate even if k is very small compared to the order N of the N×N matrix A. Generally, k<<N.

With e₁ as a first unity vector,

    H.sub.k (σ)=L.sup.T Re.sup.T.sub.1 (I-T.sub.k σ).sup.-1 e.sub.1 (11)

may represent the k^(TH) order Pade approximation of the transfer function H(σ), as described in U.S. application Ser. No. 08/269,230, incorporated above by reference. The approximation is generally of substantial accuracy in a relatively large domain of the complex plane surrounding the expansion point s₀ to include all frequencies of interest. The Pade approximation represented by matrix T_(k) may be used to determine the poles, zeroes, and residues of a linear system, and the matrix T_(k) and other variables such as the Lanczos vectors v_(i) and w_(i) have properties as described in U.S. application Ser. No. 08/269,230, incorporated above by reference. As discussed in R. W. Freund et al., "Efficient Small-Signal Circuit Analysis and Sensitivity Computations With the PVL Algorithm", TECHNICAL DIGEST OF IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN, November 1994, differentiation of the Pade approximation represented by T_(k) may be used to determine various sensitivities of a system.

The disclosed circuit analyzer 10 and method may be employed to determine the matrix T_(k) which may be used to determine a reduced-order model of a circuit represented by the circuit characteristic data 24. Equation (7) is applied to the time-domain system of Equation (6) to obtain: ##EQU7##

Setting x=V_(k) d, where d is a "short" column vector of size k, with k<<N, to constrain x to a k-dimensional subspace, the first equation in Equation (12) is premultiplied with matrix W_(k) ^(T) to obtain: ##EQU8##

From the properties of the Lanczos vectors and matrices, as described in U.S. application Ser. No. 08/269,230, incorporated above, W_(k) ^(T) AV_(k) =D_(k) T_(k). From the biorthogonality of the Lanczos vectors, W_(k) ^(T) V_(k) =D_(k), and R=ρV_(k) e₁ and L=ηW_(k) e₁ are starting Lanczos vectors with scaling factors ρ, η>0 chosen such that ∥v₁ ∥₂ =∥w₁ ∥₂ =1. From the above, Equation (13) becomes: ##EQU9##

Accordingly, the original system modeled by Equation (4) is approximated by a smaller system where a reduced-order model has a k^(TH) order Pade approximation of the original circuit. The smaller system may be expressed as: ##EQU10## where d₁ denotes the first component of d= d₁ d₂ . . . d_(k) !^(T).

From Equation (15), ##EQU11## where d_(2:k) = d₂ d₃ . . . d_(k) !^(T). The interface variable u may be eliminated and the first expression in Equation (15) may be rewritten as a system of non-linear equations, using the second expression in Equation (15) as well as Equation (16), to be: ##EQU12## which approximates the original system of Equation (3) with a substantially reduced number of state variables.

The reduced-order system of Equation (17) is compatible with the original system of Equation (3) in having substantially identical solutions by having initial conditions x₀ =V_(k) d₀. For initial conditions x₀ equalling zero except for the shared variable y, then

    y.sub.0 =l.sup.T x.sub.0 =ηe.sub.1.sup.T W.sub.k.sup.T V.sub.k d.sub.0 =ηe.sub.1.sup.T D.sub.k d.sub.0 =ηδ.sub.1 d.sub.01 (18)

then the initial conditions d₀ = y₀ /(ηδ₁)0!^(T) are compatible with the initial conditions x₀ = y₀ 0!^(T).

Generally, the linear subnetwork may be described by a p×m matrix of transfer functions. A reduced-order model of such a linear system may be constructed by applying the superposition property of linear networks and then to obtain a Pade approximation separately for each pair of inputs and outputs. The disclosed circuit analyzer 10 and method generates the matrix Pade approximation simultaneously from the entire matrix-values transfer function in a manner described below.

The disclosed circuit analyzer 10 and method generate two sequences of Lanczos vectors v₁, v₂, . . . , v_(k), and w₁, w₂, . . . , w_(k) which build bases, for each k=1, 2, . . . , for the spaces spanned by the first k vectors of the block Krylov sequences:

    R,AR,A.sup.2 R, . . . and L,A.sup.T L,(A.sup.T).sup.2 L, . . . (19)

respectively. The generated k vectors are biorthogonal, i.e. ##EQU13## for all i, j=1, . . . , k.

Setting V_(k) := v₁ v₂ . . . v_(k) ! and W_(k) := w₁ w₂ . . . w_(k) !, the matrices V_(m), and V_(p) are obtained by biorthogonalizing the initial block R and L by a modified Gram-Schmidt type process. In particular, R=W_(m) ρ and L=W_(p) η, where ρ= ρ_(ij) !_(ij=1), 2, . . . m and η= η_(i),j !_(i),j=1, 2, . . . p are upper triangular matrices. The vectors v₁, v₂, . . . , v_(k), and w₁, w₂, . . . , w_(k) may be generated by (m+p+1) term recurrences which may be written in a matrix formulation with the circuit characteristic matrix A:

    AV.sub.k =V.sub.k T.sub.k + 0 . . . 0v.sub.k+1 v.sub.k+1. . . v.sub.k+m !

    A.sup.T W.sub.k =W.sub.k T.sub.k + 0 . . . 0w.sub.k+1 w.sub.k+1. . . w.sub.k+p !                                               (21)

The matrices T_(k) = t_(ij) !_(i),j=1, 2, . . . k and T_(k) = T_(ij) !_(i),j=1, 2, . . . k are banded matrices, where T_(k) has m subdiagonals and p superdiagonals, and T_(k) has p subdiagonals and m superdiagonals. These matrices T_(k) and T_(k) are transposes of each other, up to a diagonal scaling; i.e.

    T.sub.q.sup.T =D.sub.q T.sub.q D.sub.q.sup.-1              (22)

where

    D.sub.k =W.sub.k.sup.T V.sub.k =diag(δ.sub.1,δ.sub.2, . . . , δ.sub.k).                                           (23)

The vectors

    v.sub.k+1, v.sub.k+2, . . . , v.sub.k+m and w.sub.k+1, w.sub.k+2, . . . , w.sub.k+p                                                 (24)

in Equation (21) are auxiliary vectors. In a k^(TH) step in the block MPVL method, described below, new vectors v_(k) and w_(k) and a new pair of auxiliary vectors v_(k+m) and w_(k+m) are determined. The remaining auxiliary vectors

    v.sub.k+1, v.sub.k+2, . . . , v.sub.k+m-1 and w.sub.k+1, w.sub.k+2, . . . , w.sub.k+m-1                                               (25)

are also updated.

Referring to FIG. 3, step 42 is performed by setting v_(i) =r_(i) for i=1, 2, . . . , m, and setting w_(j) =l_(j) for j=1, 2, . . . , p.

The following steps (1)-(5), corresponding to steps 44-58 in FIG. 3, are then iteratively performed for each step k=1, 2, . . . , k_(max) :

(1) determine t_(k),k-m =∥v_(k) ∥₂, and t_(k),k-p =∥w_(k) ∥₂, and continue to steps (2)-(5) below if both t_(k),k-m and t_(k),k-p are non-zero, or, alternatively, not smaller than a predetermined computational limit. Otherwise, if either t_(k),k-m =0 or t_(k),k-p =0, then the method stops and does not perform steps (2)-(5) below.

(2) determine v_(k) and w_(k) by setting: ##EQU14## then if k≦m, set ρ_(kk) =t_(k),k-m, and if k≦p, set η_(kk) =t_(k),k-p.

(3) determine v_(k+m) and w_(k+p) by setting i_(m) =max{1,k-m} and i_(p) =max{1,k-p}, and setting v=Av_(k) and w=A^(T) w_(k). Then, for i=i_(p), i_(p+1), . . . , k, set ##EQU15## For i=i_(m), i_(m+1), . . . , k, set ##EQU16## and then set v_(k+m) =v and w_(k+p) =w.

(4) update v_(k+i) for 1≦i<m, where, for i=1, 2, . . . , m-1, if k+i≦m, set ##EQU17## and if k+i>m, set ##EQU18##

(5) update w_(k+i) for 1≦i<p, where, for i=1, 2, . . . , p-1, if k+i≦p, set ##EQU19## and if k+i>p, set ##EQU20##

One skilled in the art would understand that a look-ahead method, such as described in U.S. application Ser. No. 08/269,230, incorporated above, may be applied to steps (3)-(5) above to avoid numerical instabilities or breakdowns with δ_(k) near or equal to zero.

The Laplace-domain transfer function of the linear subnetwork is described by Equation (10), where the general H(s) is a p×m matrix valued transfer function. The circuit analyzer 10 and method use the block Lanczos method described in steps (1)-(5) above to generate the reduced-order approximation to H(s). The matrix transfer function may be expanded in an infinite Taylor series: ##EQU21## where M_(j) =L^(T) A_(j) R, the coefficients of σ_(j) for j=0, 1, . . . , represent the moments of the circuit response. Using the first relation in Equation (21) and that T_(k) is a banded matrix, then ##EQU22## for j=0, 1, . . . , q'-1, where q'=.left brkt-bot.k/m.right brkt-bot., with .left brkt-bot...right brkt-bot. as the greatest integer function. From the second relation in Equation (21), then ##EQU23## for j=0, 1, . . . , q"-1, where q"=.left brkt-bot.k/p.right brkt-bot..

By Equation (33), each moment M_(j) may be written as:

    M.sub.j =L.sup.T A.sup.j R=(L.sup.T A.sup.j')(A.sup.j" R)  (36)

where j=j'+j". If j≦q'+q"-2, then j' and j" may be found such that 0≦j'≦q'-1 and 0≦j"≦q"-1. From Equations (32)-(34), ##EQU24## for j=0, 1, . . . , q'+q"-2. Since W_(k) ^(T) V_(k) =D_(k) and T_(k) ^(T) =D_(k) T_(k) D_(k) ⁻¹,

    (T.sub.k.sup.T).sup.j' =D.sub.k T.sub.k.sup.j' D.sub.k.sup.-1 (38)

so from Equation (36), ##EQU25## for j=0, 1, . . . , q'+q"-2.

Equation (39) is also satisfied for j=q'+q"-1, so q may be set equal to q=q'+q"=.left brkt-bot.k/m.right brkt-bot.+.left brkt-bot.k/p.right brkt-bot.. From Equation (39), the expression ##EQU26## has the same first q matrix Taylor coefficients as H(s₀ +σ), so ##EQU27## is a matrix Pade approximant of H(s₀ +σ).

For a time-domain reduced-order model of a multiple-input multiple-output linear subnetwork, Equation (12) has y and u as vectors, while a single-input, single-output linear subnetwork may have vectors y and u reduced to scalars. From the properties of the block Lanczos method, W_(k) ^(T) AV_(k) =DT_(k), and, by the biorthogonality of the Lanczos vectors, W_(k) ^(T) V_(k) =D. From the properties of the Lanczos vectors, as described above, ##EQU28## so by applying Equation (42) to Equation (13), the time-domain reduced-order model of the linear subnetwork is: ##EQU29## where the transfer function corresponding to Equation (43) represents a matrix Pade approximant of the original linear subnetwork transfer function.

By using the disclosed MPVL method, Equation (43) may be used to replace a greater number of equations as in Equation (6) modelling the linear portion of the circuit being analyzed.

FIGS. 4-6 illustrate examples of the performance of the disclosed circuit analyzer 10 and method using MPVL for modeling a low-noise amplifier designed for a radio frequency application to be implemented using advanced BiCMOS. A netlist of the low-noise amplifier, extracted from the actual layout with all parasitics included, includes 51 MOSFET devices, 26 bipolar transistors, 35 resistors, 6 inductors, and 381 capacitors. The size of linearized circuit matrices corresponding to this netlist is 414. The example low-noise amplifier is a two-port system, and so may be considered to have two independent inputs and outputs, and may be fully characterized by a 2×2 matrix-valued transfer function having three independent entries. The disclosed circuit analyzer 10 and method using MPVL generated a reduced-order model of the transfer function matrix which converged after about 48 iterations, which corresponds to 2×24 matched matrix moments. FIGS. 4-6 plot the magnitudes of gain, normalized input impedance, and normalized output impedance of the low-noise amplifier.

It is to be noted that the graphs illustrating the performance of MPVL in 48 iterations is substantially indistinguishable, within a computational limit, from the actual frequency response of the low-noise amplifier. The disclosed circuit analyzer 10 and method using MPVL generates the approximation of the gain, normalized input impedance, and normalized output impedance simultaneously, while other methods may generate each approximation of the gain, normalized input impedance, and normalized output impedance individually. Accordingly, the disclosed circuit analyzer 10 and method using MPVL generally performs with a lesser number of iterations and state variables of the reduced-order model of the low-noise amplifier circuit being analyzed.

While the disclosed circuit analyzer and method has been particularly shown and described with reference to the preferred embodiments, it will be understood by those skilled in the art that various modifications in form and detail may be made therein without departing from the scope and spirit of the invention. For example, that different functional blocks may be used to implement the exemplary components shown in FIG. 1 of the disclosed circuit analyzer 10, and/or such functional blocks may be implemented on an integrated circuit having, for example, a processor and memory. It is to be understood that the disclosed circuit analyzer 10 and method, in whole or in part, may be implemented as hardware running software, as firmware, or as discrete circuits and/or hardwiring.

It is also to be understood that the disclosed method may be applied to analyzing circuits as well as different environments; for example, having an associated transfer function. In other embodiments, the disclosed method may be implemented using different transformation processes, such as other matrix manipulation techniques for implementing the disclosed circuit analyzer 10 and method. Accordingly, modifications such as those suggested above, but not limited thereto, are to be considered within the scope of the invention. 

What is claimed is:
 1. An apparatus comprising:a processing unit having:a memory for storing circuit characteristic data representing a circuit; a program for generating matrix transfer function data relating to a matrix transfer function associated with the circuit characteristic data; a processor for executing the program; and means for generating the frequency response signal in response to the matrix transfer function data.
 2. The apparatus of claim 1 wherein the means for generating the frequency response signal uses the matrix transfer function data to generate the frequency response signal according to an frequency response transfer function ##EQU30## where T_(k) is a banded matrix, s₀ is a frequency shift, I is an identity matrix, ρ and η are upper triangular matrices, and D_(k), ρ and η are obtained from the circuit characteristic data.
 3. The apparatus of claim 1 wherein the processor, responsive to execution of the program, calculates characteristic matrix data representing parameters associated with a characteristic matrix of the circuit characteristic data, and determines the matrix Pade approximant from the characteristic matrix data.
 4. The apparatus of claim 3 wherein the processor, responsive to execution of the program, processes the matrix characteristic data to reduce the characteristic matrix and to determine the matrix Pade approximant therefrom.
 5. The apparatus of claim 4 wherein the processor, executing the program, processes the characteristic matrix data using a Lanczos procedure.
 6. The apparatus of claim 5 wherein the processor, executing the program, iteratively processes the characteristic data to iteratively reduce the characteristic matrix using a look-ahead determination in the Lanczos procedure.
 7. An apparatus for generating a frequency response signal indicative of an frequency response of a circuit, the apparatus comprising:a data source providing circuit characteristic data representing the circuit; and a processing unit having:a memory for receiving and storing the circuit characteristic data from the data source; a set of at least one program including a Matrix Pade Via Lanczos (MPVL) program for generating a matrix Pade approximant of a transfer function relating to a matrix transfer function associated with the circuit characteristic data; a processor for executing the MPVL program; and means for generating the frequency response signal in response to the matrix Pade approximant.
 8. The apparatus of claim 7 wherein the processor, executing the MPVL program, calculates characteristic matrix data representing parameters associated with a characteristic matrix of the circuit characteristic data, and determines the matrix Pade approximant from the characteristic matrix data by a block Lanczos procedure.
 9. The apparatus of claim 8 wherein the processor, executing the MPVL program, processes the matrix characteristic data to reduce the characteristic matrix using a plurality of Lanczos vectors and to determine the matrix Pade approximant therefrom.
 10. The apparatus of claim 9 wherein the processor, executing the MPVL program, processes the characteristic matrix data using the block Lanczos procedure on the plurality of Lanczos vectors.
 11. The apparatus of claim 10 wherein the processor, executing the MPVL program, iteratively processes the characteristic data and the plurality of Lanczos vectors to iteratively reduce the characteristic matrix using a look-ahead determination in the block Lanczos procedure.
 12. A circuit analyzer for generating a graphic representation of a predicted performance of a circuit, the circuit analyzer comprising:an input device for inputting a plurality of circuit parameters representing the circuit; memory and stored programs for receiving and storing the circuit parameters; a processor operating with the stored programs and including:means for processing the circuit parameters; means for performing a block Lanczos procedure on the processed parameters; means for calculating a matrix Pade approximant of a transfer function of the circuit; and means for generating the graphic representation from the matrix Pade approximant to predict the performance of the circuit; and a display for displaying the graphic representation.
 13. The circuit analyzer of claim 12 wherein the Lanczos procedure performing means performs the block Lanczos procedure with a look-ahead determination using matrix data representing a non-singular matrix.
 14. The circuit analyzer of claim 13 wherein the block Lanczos procedure performing means iteratively generates a plurality of intermediate parameters from the processed circuit parameters and stores the generated intermediate parameters in the memory.
 15. The circuit analyzer of claim 14 wherein the intermediate parameters of a k^(TH) iteration includes matrix data representing a non-singular matrix, the inverse thereof used by the block Lanczos procedure performing means to generate an (k+1)^(TH) iteration of intermediate parameters.
 16. The circuit analyzer of claim 15 wherein the Lanczos procedure performing means generates banded matrix data representing a banded matrix T_(k) from the stored intermediate parameters.
 17. A method for generating a frequency response signal of a circuit, the method comprising the steps of:providing circuit characteristic data associated with the circuit; providing characteristic matrix data associated with the circuit characteristic data and representing parameters associated with a characteristic matrix; executing a program using a processing unit to generate matrix transfer function data relating to a matrix transfer function associated with the characteristic matrix data; and generating the frequency response signal in response to the matrix transfer function data.
 18. The method of claim 17 wherein the step of generating the frequency response signal includes the step of determining an frequency response transfer function ##EQU31## where T_(k) is a banded matrix, s₀ is a frequency shift, I is an identity matrix, ρ and η are upper triangular matrices, and D_(k), ρ and η are obtained from the circuit characteristic data.
 19. A method for analyzing a circuit to predict performance of a circuit, comprising the steps of:receiving a plurality of circuit parameters representing the circuit from an input device; storing the received circuit parameters in memory; processing the circuit parameters to generate characteristic matrix data representing parameters associated with a characteristic matrix; performing a block Lanczos procedure on the processed parameters to generate a plurality of Lanczos vectors; calculating a matrix Pade approximant of a transfer function of the circuit from the plurality of Lanczos vectors; generating a graphic representation from the matrix Pade approximant to predict the performance of the circuit; and displaying the graphic representation on a display.
 20. The method of claim 19 wherein the step of performing the block Lanczos procedure includes the step of performing a look-ahead determination using matrix data representing a non-singular matrix.
 21. The method of claim 19 wherein the step of performing the block Lanczos procedure includes the steps of:iteratively generating a plurality of intermediate parameters from the processed parameters; and storing the generated intermediate parameters in the memory.
 22. The method of claim 21 wherein the step of performing the block Lanczos procedure includes the step of generating matrix data representing a matrix transfer function from the stored intermediate parameters. 